home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 April
/
EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso
/
EARCD
/
text
/
show
/
EvenMore032.lha
/
EvenMore032
/
Docs
/
evenmore.doc
next >
Wrap
Text File
|
1996-11-10
|
26KB
|
597 lines
.
EvenMore 0.3beta2 :
Code:AmigaE |
|
EvenMore ©1996 Chris Perver |
|
------------------------------'
-+====== Important Messages!!! ==============================================+-
TO: Any Viper accelorator users out there!
If you have managed/know how/may know how to softkick a Viper accelator, let me
know! I have an Amiga 1200 (OS3.0 - 030 28Mhz - 882 33Mhz - 18Megs total ram,
etc., etc.) and I despretely want to softkick OS3.1. All help/info/programs WILL
be greatfully accepted. cHRISPi needs YOUR help!
================================================================================
PLEASE READ THE BUGS SECTION! PLEASE READ THE BUGS SECTION! PLEASE READ THE BUGS
SECTION! PLEASE READ THE BUGS SECTION! PLEASE READ THE BUGS SECTION! PLEASE READ
THE BUGS SECTION! PLEASE READ THE BUGS SECTION! PLEASE READ THE BUGS SECTION!
PLEASE READ THE BUGS SECTION! PLEASE READ THE BUGS SECTION! PLEASE READ THE BUGS
================================================================================
================
COPYRIGHT NOTICE
================
The EvenMore executable and source are copyright ©1996 by Chris Perver and the
ReqTools.library is copyright © Nico François and copyright © Magnus Holmgren.
This archive can be distributed only when the contents of this archive are kept
intact and unaltered and all files are included.
The files in this archive are the following:-
EvenMore/
EvenMore
EvenMore.info
Docs/
EvenMore.doc
EvenMore.readme
MicroSlick.readme
Env/
EvenMore.config
Icons/
EvenMoreMWB.info
Libs/
ReqTools.library
Nostalgia/
EvenMore01.lha
This archive can be distributed by commercial companies, as long as the
following rules are applied. Permission to distribute this archive in any from
requires express permission of its author. If the program is distributed on any
magazine or CD or disk, I demand that a free copy of that particular magazine,
CD or disk be posted to me as soon as it is published or released. This archive
may be distributed by public domain libraries, as long as no profit is made on
the program, and the price is no higher than the cost of a disk and copying.
This archive may be freely distributed by Aminet CDs or Fred Fish CDs and disks
and by Aminet BBS. It is forbidden from be distributed by pirate BBS, disks,
CDs, FTP sites, homepages, DCC or any other form, even although it is freeware.
If you do want the program, come and ask me, not the pirates! The reason being I
do not wish lame pirates to gain even more business because of all the work I
have put into creating this. Spread the word, not the disk!
========
REQUIRES
========
o Kickstart 37+ (That rules PCs out then :)
o ReqTools.library 37+ (That rules PCs out then :)
o A flippin' big harddrive. You need at least 14k of free drive space.
That's pretty big for an Amstrad program. You'll just about fit that on a
cassette (That rules PCs that run Windoof out then :)
o A screenmode bigger than 80*50 pixels (That rules PCs out then :)
o A multitasking computer (That rules PCs out then :)
o An Amiga (That rules PCs out then again :)))
o Some kind of device for displaying on, err... like a monitor or television.
o A power source
o An intelligent input to run the program (That rules PCs out then :) (Well
it won't run by itself!)
o A text file to view
o A CLI or Workbench running (That rules PCs out then :)
o Some memory (That rules PCs that run Windoof out then :)
o A keybord (Not the musical type) (That rules Playstations out then, or does
it? :)
========
FEATURES
========
Latest features
---------------
o More keys for moving about documents.
o View menu to move about documents.
o Reload menu item.
o A few extra requestors.
o Moved to ReqTools.library.
o More information in about requestor.
o More information to title bar.
o Option to open window in the centre of the screen.
o Option to open window on a different public screen.
o Preferences file.
o Search menu to search through documents.
o A lot of optimisations.
o Window now uses less memory and redraws faster.
Previous features
-----------------
o Tooltypes allow some sort of preferences.
o Totally font sensative.
o Code optimized a bit.
o A few bugs fixed.
============
INTRODUCTION
============
The AmigaOS is a damn good operating system. Even the last OS before Commodore
ran out of money (OS 3.0) can't be touched by Windoof and other operating
systems. So why spoil it now? Commodore also brought in features such as Screen
and Icon fonts, which could be proportional. And proportional fonts look so much
more nicer. So that is why I decided to have a bash at designing a nice looking
text viewer to complement Workbench. It hasn't much features now, but it will
get better.
Anyway. Before I didn't realize how much code was involved in just doing the
simple things like opening a window with menus and printing text. In a basic
language, there are commands available for just about anything under the sun. I
could have written this program in Blitz Basic easily in a couple of lines, but
the resultant code would have turned out twice as large. What makes it worse is
I am just learning a new language, and I haven't encountered all this operating
system code before. I need a book (Or similar) that would show me common
routines of doing things in the Amiga's operating system using AmigaE, no C
here, as I don't know the syntax.
============
INSTALLATION
============
Simply copy 'libs/reqtools.library' to 'Libs:' if you haven't already got it, or
haven't got a version later than 37. Then copy 'EvenMore' and 'EvenMore.info' to
somewhere on your command line, like 'C:', then copy and edit the file
'env/evenmore.config' to 'ENVARC:' and 'ENV:' and thats it!
=====
Usage
=====
EvenMore takes 2 arguments when running from CLI, but still only one when
running from Workbench (Which is the file to be displayed).
o You can specify a path and a file for the first argument.
o The second argument is optional and allows you to specify a configuration
file. This means that you can have a seperate configuration for each
program you run EvenMore from, one to open on Workbench, and another for
DOpus that would open the window on the DOpus screen. If no configuration
file is selected, then the default is 'ENV:EvenMore.config'.
It is important to note that if you are specifying a configuration file and no
text file, then you must put 'PREFS=<configuration file>' to make sure EvenMore
knows you are not specifying a text file to view.
If you do not specify a path or file, a requestor will pop up allowing you to do
so. Once you have selected the file you wish to view, a window will open
displaying the contents.
The EvenMore window will open on the default public screen which would be
Workbench or the DOpus screen (Hopefully not DOpus :). You can of course,
specify another screen for the window to open on as long is it is made public!
e.g. EvenMore S:User-startup PREFS=Env:EvenMore.DOpusconfig
There are also several tooltypes for setting your preferences when running the
program from workbench. These are:
WINDOWXPOS=0 (The top left hand position of the window on the screen
in pixels on the X axis)
WINDOWYPOS=14 (The top left hand position of the window on the screen
in pixels on the Y axis)
WINDOWWIDTH=640 (The width of the window in pixels)
WINDOWHEIGHT=256 (The height of the window in pixels)
CENTREWINDOW=[YES/NO] (Open window in the exact centre of the screen)
PUBSCREEN=DOPUS.1 (The public screen to open the window on)
If the screen positions and sizes are commented out or are not there or if there
is no preferences file, the defaults will be used which are 640*256 positioned
top left hand side of the screen and using the default public screen.
If the centring option is enabled, then the window position values will be
overrided.
Try to never specify stupid window dimensions. If you specify a size larger than
the screen, workbench will try to squeeze it in to whatever space it can get.
The same goes for coordinates. If you are stupid enough to try a minus sized
window or too small a size, then EvenMore will resize itself to the smallest
size that doesn't corrupt the window gadgetry. In EvenMore this is 80*50. (For
no particular reason).
Users of graphics cards with virtual Workbench screens should not make the
window larger than the visible part of the screen, as this will surely end up in
a guru (Or so i'm told). Also users of graphics cards should keep and eye on
that centring option as it might also guru on certain cirmustances on a virtual
workbench.
If you specify a public screen to open the window up on that does not exist, you
can be sure the window will open on the default public screen such as Workbench
or DOpus (Hopefully not DOpus :). If a public screen still can't be found, well
what are you running? Linux?!?!? If the public screen entry is commented out,
then the default public screen will be used.
Here is an explanation of the preferences file.
If there is a preference file 'ENV:evenmore.config', the above tooltypes will be
overrided. Here is what the preferences file looks like.
--- cut along here 8< ---------------------------------------------------------
The format of this file is half critical! Well, sort of. Basically values must
come before the preset name. No other text is allowed to be before the equals
sign other than the value and make sure you only have 1 equals sign in a line!
50=WINDOWXPOS (E.g. I can type here and it is ok... Honest!)
50=WINDOWYPOS
640=WINDOWWIDTH (No typing on either side of the '=' or before the value)
256=WINDOWHEIGHT
TRUE=CENTREWINDOW
DOPUS.1=PUBLICSCREEN
------------------------------------------------------- cut along here 8< -----
The first line shows a warning not to change the format of the file. It is
critical for EvenMore to read the file that it remains in the format as
described. Although the preset order may be changed, for example, I could have
the public screen at the top and it would still be read. If you don't want
EvenMore to open on a different public screen, you can either change the public
screen name to something that doesn't exist and EvenMore will open on Workbench,
or type in 'Workbench' (minus the quote-marks) which is the public screen name
of the Workbench Screen.
Here is an explanation of the menu items.
_______________________________________________________
[Project] View Search
| ¯¯¯¯¯¯T¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| Load file... |
| Reload file |
| About... |
|--------------|
| Quit |
`--------------'
Load file: Allows you to select an ascii file from a requestor to display
Reload file: Enables you to quickly reload the currently displayed file incase
its contents have changed. The line number you were at in the
file (which is counted as the top-most line in the window) will
not be changed unless the file is shorter than that line number,
in which case, EvenMore will view from the end of the file.
About: Display information about the program
Quit: Exit the program
_______________________________________________________
Project [View] Search
¯¯¯¯¯¯¯¯¯| ¯¯¯¯¯¯¯¯¯¯¯T¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| Go to line... |
|----------------|
| Top of file| |
| Page up |
|----------------|
| Page down |
| Bottom of file |
`----------------'
Go to line: Move directly to a line in the current document. Note that this
number will be taken as the top line of the window. So if I
entered 4, EvenMore will display lines 4-?.
Top of file: Move to the top of the file.
Page up: Move up one height of the window.
Page down: Move down one height of the window.
Bottom of file: Move to the bottom of the file.
_______________________________________________________
Project View [Search]
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| ¯¯¯¯¯¯¯¯¯¯T¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| Find string... |
| Find next |
| Find previous |
|-----------------|
| Occurance... |
`-----------------'
It is important to understand how EvenMore searches ATM.
Forwards search: EvenMore will start from the second line from the top of the
document searching for a single occurance of a word. When it finds
one, it will be immediately reported and the viewer will move to the
word so that it is at the top of the viewer.
Backwards search: EvenMore will start from the line above the top of the
viewer from the top of the viewer window searching for a single
occurance of a word. When it finds one, it will be immediately
reported and the viewer will move to the word so that it is at the
top of the viewer.
Sensitivity: EvenMore uses case-sensitive searches and case-insensitive
searches but only case-sensitive searches work at the moment , due
to technical difficulties beyond my control.
Whole words: EvenMore will not search for whole words, due to technical
difficulties beyond my control.
One line search: EvenMore does not search through an entire line for a word,
after it comes across one. On the next search it will not start
from the last word it left off at, but starts at a new line.
If EvenMore is somehow unable to unable to view the line that it found the word
at as the top line (Due to scrolling restrictions, for instance, if EvenMore is
at the bottom of a file, and unable to scroll beyond the bottom) then the line
number and the word searched for will be reported in a requester.
If EvenMore is unable to view the line in question, a search continued after
this, will not start from the second line in the window, etc, but from where
the last search finished off.
If EvenMore is unable to find the word if it doesn't exist in the document, or
the end (Or beginning) of the file has been reached, a requester will pop up
letting you know.
-------------------------------------------------------------------------------
Find word: This will bring up a string requester allowing you to enter a string
to search for in the document. From this you will be able to do
backwards and forawrds searches.
Find next: This will move you to the next occurance of the string according to
the settings of your last search. If a string has not been entered
yet, then a requester will pop up allowing you to do so.
Find previous: This will move you to the previous occurance of the string
according to the settings of your last search. If a string has not been
entered yet, then a requester will pop up allowing you to do so.
Occurance: This will bring up a requester allowing you to enter a string to
search for the number of occurances of that string in the entire document.
There are several keys for moving about the document displayed in EvenMore's
window.
UP CURSOR KEY (Scroll text up one line)
DOWN CURSOR KEY (Scroll text down one line)
SHIFT + UP CURSOR KEY (Scroll text up one page)
SHIFT + DOWN CURSOR KEY (Scroll text down one page)
CTRL + UP CURSOR KEY (Move to top of file)
CTRL + DOWN CURSOR KEY (Move to bottom of file)
=======
HISTORY
=======
---------------------------
0.3beta2
- - - - - - - - - - - - - -
o Fixed silly mistake. Changed drawmode back from Jam2 to Jam1. I don't know
how many times I have done this. :)
o More keys for moving about documents.
o View menu to move about documents.
o Added extra requestors.
o Added reload menu item.
o Added more information in about requestor.
o Added more information in the title bar.
o Now uses ReqTools library.
o Added centring window option.
o Added preferences file.
o Search menu to search through documents.
o Made a whole lot of optimisations.
o Removed GIMMEZEROZERO flag, so now the window updates faster and uses less
memory.
---------------------------
0.3beta1
- - - - - - - - - - - - - -
o Added tooltypes (Window size positions)
o A few improvements here and there.... here, there, everywhere a few
improvements!
o Fixed some silly bug. If started from the CLI, the files wouldn't load up
from the requestor... Thanx to Johan Björnson for reporting it. Still don't
know who the culprit was that made the bug :?/.
---------------------------
Pre 0.3beta1
- - - - - - - - - - - - - -
o Can't remember what they were like. Probably awful!
====
BUGS
====
o I'm not entirely satisfied I have every window dimension looked after
properly, after changing to a non-GIMMEZEROZERO window. If you see any lines
get trashed, let me know! Also, the text is written over the right window
border because of the non-GIMMEZEROZERO window, so I suppose this may
eventually be fixed once I do linewrapping. But until then you'll have to
stick it!
o The case-insensitive searches don't work...
=======
CAVEATS
=======
------------------------------------------------------------------------------
Warning! Warning! Warning! Warning! Warning! Warning! Warning! Warning!
··············································································
This is a warning on the scale of 'Mi¢ro$£utt warning!' so hear this!
------------------------------------------------------------------------------
o This software may or may not function properly on your computer. I know
that many users may have different specifications of Amigas. Therefore this
software comes under the heading of "WORKS OK AT MY PLACE". I cannot garan..
be certain that this software will work with other setups. So just for the
record...
This software works on:-
------------------------
Amiga 1200 (OS3.0 - 2.5" 340Mb HD compressed )
(Viper 2 accelerator / 28Mhz 030 - 33Mhz FPU - 16Mb Fast)
This software may fail to work on:-
-----------------------------------
PCs of various makes
My Amstrad
Amigas that use graphics cards and virtual workbenches. As long as you are
careful, nothing should go wrong.
------------------------------------------------------------------
IF ANYTHING WIERD HAPPENS, OR ANYTHING AMISS, LET ME KNOW ABOUT IT
(Not like, your nextdoor neighbours cat was eaten by your best mates dog)
-------------------------------------------------------------------------
====
TIPS
====
o If like me and you are never settled with your workbench settings and you
want the window to open just below the titlebar then comment out the
'WINDOWYPOS' tooltype. This will make the window always open below the
titlebar nomatter what your current screenfont is. Or just use the nice
centre window option instead, or any combination of these. :)
o A nice Screen font such as XHelvetica 11 looks nice. :)
======
FUTURE
======
EvenMore is pretty scary at the minute. Soon though, once I get the main
features plugged, I will have time to think about putting in the diddly bits.
That is, if I find out how to do the diddly bits! So these are just
considerations, I have not actually thought about how I am going to do any of
this stuff.
o More compact optimised code.
o Line/Word wrapping.
o Faster scrolling. Maybe some way of only scrolling 2 or even 1 bitplanes.
o ASCII codes such as TAB and CR will be sensed and acted upon.
o ESC sequences or ANSI codes sensed such as BOLD, etc. (Some sort of text
parser will need to be written)
o Better searching, with hi-lighted words instead of requesters.
o Whole-word searches.
o Printing options. In the far distant future.
o Maybe my own file loading routine. The current one that came with AmigaE is
creating a lot of problems.
Here are the features I have considered, but not putting in, at least, at this
point in time.
o Opens on its own screen. What's the point? I mean, you will have Workbench
running, won't you? And I haven't a clue about most coding practices just
yet, and opening the window on its own screen would involve too much work in
setting up preferences for that screen, etc, and it is just a waste of time
writing tonnes of code just to cater for everyones preferences.
======
AUTHOR
======
This program is...
________________________________________________________________________________
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
e! Email ware! Email ware! Email ware! Email ware! Email ware! Email ware! Email
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
If you decide it is slightly useful, or just a load of crap, or even shows some
potenetial, please email me. If you have any suggestions or would just like to
say that there is a 6-pack of Pepsi on its way to me then again, please email
me. :)
You will of course be sent EvenMore by email every time (or there abouts :) a
new version comes out on aminet or if I decide one day that I would like to see
what the reponse is or test it before uploading to aminet, and if you want the
latest latest version any time, just send me an email with the subject 'SEND
EVENMORE LATEST LATEST' and in the body specify what version you have if any so
I know not to send the same one you have. Of course I cannot guarantee these
latest latest versions will work very well as I will still be working on them as
you send the emails, in fact some might not even work but i'll send you them
anyway, but you can request a not latest latest verion (Or the last working
aminet upload) by sending a mail with the subject 'SEND EVENMORE THAT WORKS!'
and in the body specify what version you have if any so I know not to send the
same one you have.
______________________________________________________________
[O|##Contacting#cHRISPi####################################|D|B]
|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
| Postal address: \ \_| / |
| Chris Perver, / \ |
| 12, Orchardville Avenue, | 0 ^ | |
| Bangor, (__u__) |
| Co. Down, |_|_| _____ |
| N. Ireland, _||_ \ /__ |
| BT19 1LP. / \ \ / |
| || // /| \/\/ |
| ______________________ ww ww _// |
| Internet:[chris@planb.thegap.com] ( ( )_/ |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ \\ \\ |
| ______________________ // // |
| IRC:[cHRISPi on #amigacafe ] |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
| _________________________________________________ |
| URL:[http://www.geocities.com/siliconvalley/park/6763/] |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
| __________________ |
| [ Send mail | Quit ] |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|_____________________________________________________________ |
[############################################################|/]
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
====
HELP
====
If any of you lot want to help in the distribution files, go ahead and email me.
You could design a few NewIcons, MagicWB icons, Iconographics icons, or
anything. If you have any suggestions or contributions for the distribution
files, again email me. :)
Programmers! Please aid me. If anyone has Enforcer or similar, please check that
this program returns all allocated memory, etc etc. Maybe some tutorials or
example sources of Workbench E stuff, loading files, parsing, raster tips, etc.
would be handy. Maybe recent AmigaE modules of useful things like ReqTools, etc.
would be well appreciated.
=========================================
THANX 'N' GREETZ (In no particular order)
=========================================
Thanks to my mum and dad for buying me those RKRM manuals. I didn't know they
would be so useful so quickly. I thought i'd at least have to learn C before
they would be of any use.
Thanx to Nico François and Magnus Holmgren for the excellent ReqTools library.
Only fools don't use ReqTools!
Thanx to Dietmar Eilert for GoldEd, it's been plenty of help to me.
Thanx to Wouter van Oortmerssen for AmigaE, it's an amazing language.
Thanx to Johan Björnson for his contributions and suggestions for this archive.
Thankyou to all my mates in #amiga who helped by answering my questions I put to
them (Hehehe they did?).
Especially Alfo/Alfogator who helped me a lot with methods on how to work
around problems with scrolling, etc...
...and Kinetik (You can but try :)...
...and Baikonur who helped support me when I was down...
Thanx to all who even attempted to help me, or cheered me up...